home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_1
/
pmc_addr
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
9KB
From comp.sys.handhelds Sat Apr 13 22:10:34 1991
Path: uncw!ecsvax!ecsgate!mcnc!gatech!ncar!elroy.jpl.nasa.gov!usc!snorkelwacker.mit.edu!ai-lab!rice-chex!bson
From: bson@rice-chex.ai.mit.edu (Jan Brittenson)
Newsgroups: comp.sys.handhelds
Subject: HP-48 PMC addresses
Message-ID: <14722@life.ai.mit.edu>
Date: 6 Apr 91 21:35:30 GMT
Sender: news@ai.mit.edu
Organization: nil
Lines: 254
I had grep(1) extract the undocumented PMCs (Prefixed Machine Code)
out of Jake's list. I then reformatted the extract into a shell script
that would (using sed(1)) look up of these that I have documented. So
here is a list of ~200 additional PMC addresses, roughly 1/4 of the
undocumented addresses. Some of these are weak, by which I mean that
they only document what bit is set where, or which word in memory is
cleared, not the effect it has. However, since weak documentation is
just as *correct*, I have included it here. It makes it easier to see
what role a specific bit or word has if it appears as a symbol rather
than a hex constant.
The weak symbols look somewhat like follows:
Get_xxxxx Puts the contents of xxxxx on the stack as a short
Get_any_xxxxx Puts the contents of xxxxx on the stack as an object
Store_xxxxx Stores the value on TOS in xxxxx
Set_xxxxx Same, but retains the value on TOS
Store_any_xxxxx
Set_any_xxxxx
Clr_xxxxx Clears the contents of xxxxx
Test_xxxxx Tests if contents are nonzero
Set_y_xxxxx The contents of xxxxx is ORed with y
Clr_y_xxxxx The contents of xxxxx is ANDed with the complement of y
(aka BIC, bit clear)
Test_y_xxxxx True if the contents of xxxxx AND y is nonzero
Some other variants may occur. Sometimes the "_any" infix is
missing; but implicit by the context, which is why I haven't bothered
adding it. (At the dawn, objects and shorts were created equal. :-))
Sometimes there's a "_nib" infix, in which case only one nybble is
affected, as opposed to a 5-nybble word.
Strcat is different from the string +, in that it appends one
string to the other, and expects there to have been enough space
allocated to hold the resulting string.
d71:Flush_kbd /Flushes keyboard buffer
4708:Peek_lastkey /Predicate: examine next key in buffer
5068:Clear_ATTN_flag /Flush ATTN flag/counter
65e5:Userobjectp /Predicate: is object a user object?
6b4e:System_RAMobjectp /Predicate: is object system obj in RAM?
6eeb:Eval_next /Eval next token in previous context
6f66:Eval_next_nopush
8207:Function_to_global /Pred:Function (built-in XLIB) to global name
821f:Xlib_to_name_p /Predicate: XLIB to global name
e248:Set_706b8
e26d:Get_706b8
e27d:Get_706bd
e630:Assert_date /Assert TOS is a valid date
e66a:Assert_time /Assert TOS is a valid time
e693:Assert_repeat /Assert TOS is a valid repeat factor
e7ce:Nonzerop_7079dh
113c2:Get_stacksize /Get size of stack, in nybbles
113d2:Store_stacksize /Update stack size, in nybbles
113e2:Store_nib_706f6
113f2:Get_nib_706f6
11402:Inc_nib_706f6
11412:Dec_nib_706f6
11422:Inc_nib_706ec
11432:Get_nib_706e7
11442:Clr_nib_706e7
11452:Dec_nib_706e7
11462:Inc_nib_706e7
11501:Delayed_alock_p /Predicate: Delayed alpha lock
11511:Prg_on_p /Turn on PRG mode
1155c:Prg_off /Turn off PRG mode
1156c:Delayed_alpha_lock_off /Turn of delayed alpha lock
1192f=Sub_grob /GROB-specific SUB
11a6d:Erase_in_grob /Erase region of GROB
13043:Purge_PICT_viewed /Purge scroll-mode PICT
13061:Purge_PICT /Purge PICT
13167:Scroll_mode_p /Predicate: Scroll mode?
137b6:Get_curRowCol
18308:Recalc_tos_and_gc /Do GC and recalculate stack
1884d:Short0_End /0 END
18a15:No_args /Set error reference, no args checked
2534a:If_nullstr_then /IF "" == THEN
268c2:Get_XlibBits01
269db:XlibMajor_lt700h_p_func /Predicate: XLIB Library Number > #700?
26c1c:If_false_then_End /END if False
27224:If_not_backup_then_eval_prev_context /If not Backup, then Eval_prev_context
27234:If_not_library_then_eval_prev_context /If not Library, then Eval_prev_context
27244:If_not_list_then_eval_prev_context /If not List, then Eval_prev_context
27254:If_not_prg_then_eval_prev_context /If not Program, then Eval_prev_context
27264:If_not_func_then_eval_prev_context /If not XLIB, then Eval_prev_context
2b07b:Store_rand_seed /Set Random Seed
30805:Nthchar /Nth char of string as short
31608:Config_IO /Reconfigure I/O according to stack data [1]
324c8=Serial_CR /Transmit CR on Wire
37e73:RDM_array_size_nelem_dims_ndims /RDM an array
38c08:Store_any_70605
38c18:Get_any_70605
38c28:Clr_70605
38c38:Store_any_7060a
38c48:Get_any_7060a
38c58:Clr_7060a
38c68:Store_any_7060f
38c78:Get_any_7060f
38c88:Clr_7060f
38c98:Store_any_70614
38cab:Get_any_70614
38cbe:Clr_70614
38cd1:Test_4_70688
38cdf:Set_4_70688
38ced:Clr_4_70688
38cfb:Test_8_7068c
38d09:Set_8_7068c
38d17:Clr_8_7068c
38d25:Test_2_7068c
38d33:Set_2_7068c
38d41:Clr_2_7068c
38d4f:Test_8_7068d
38d5d:Set_8_7068d
38d6b:Clr_8_7068d
38d79:Halts_enabled_p /Predicate: Are HALTs enabled?
38d8a:Enable_Halt /Enable HALTs
38d9b:Disable_Halt /Disable HALTs
39275:Frozen_status_alt3
39283:Freeze_status_alt3
39291:Unfreeze_status_alt3
3929f:Frozen_stack_p_alt
392ad:Freeze_stack_alt
392bb:Unfreeze_stack_alt
392c9:Test_2_70689
392d7:Set_2_70689
392e5:Clr_2_70689
392f3:Frozen_menu_p_alt
39301:Freeze_menu_p_alt
3930f:Unfreeze_menu_p_alt
3931d:Frozen_status_alt2
3932b:Freeze_status_alt2
39339:Unfreeze_status_alt2
39347:Frozen_stack_p_alt2
39355:Freeze_stack_alt2
39363:Unfreeze_stack_alt2
39371:Test_2_70686
3937f:Set_2_70686
3938d:Clr_2_70686
3939b:Frozen_menu_p_alt3
393a9:Freeze_menu_alt3
393b7:Unfreeze_menu_alt3
393c5:Frozen_status_p
393e1:Unfreeze_status
393ef:Frozen_stack_p
3940b:Unfreeze_stack
39419:Test_4_7068a
39427:Set_4_7068a
39435:Clr_4_7068a
39443:Menu_frozen_p
3945f:Unfreeze_menu
3946d:Test_1_7068b
3947b:Set_1_7068b
39489:Clr_1_7068b
39497:Test_2_7068b
394a5:Set_2_7068b
394b3:Clr_2_7068b
394c1:Test_4_7068b
394cf:Set_4_7068b
394dd:Clr_4_7068b
394eb:Test_8_7068b
394f9:Set_8_7068b
39507:Clr_8_7068b
39515:Clock_marked_on_p /Predicate: Saved clock displayed state (on/off)
39523:Mark_clock_on /Set saved clock displayed state to ON
39531:Mark_clock_off /Set saved clock displayed state to OFF
3953f:Test_4_70683
3954d:Set_4_70683
3955b:Clr_4_70683
39569:Test_1_70683
3957a:Set_1_70683
3958b:Clr_1_70683
39fb0:Test_2_70683
39fc1:Set_2_70683
39fd2:Clr_2_70683
3ff75:Test_4_7068c
3ff86:Set_4_7068c
3ff97:Clr_4_7068c
3ffa8:Test_1_70688
3ffb9:Set_1_70688
3ffca:Clr_1_70688
417af:Clr_4_70684
417c0:Set_4_70684
417d1:Test_4_70684
417e2:Clr_8_60686
417f3:Set_8_70686
41804:Test_8_70686
41815:Clr_8_70684
41826:Set_8_70684
41837:Test_8_70684
4248e:Store_70619
424a1:Get_70619
424b4:Test_70619
424c7:Clear_70619
44407:Get_nth_edit_char
515cd:Set_type_to_grob /Set object type to GROB
51a4a:Conj_Swap_re_im /CONJ, then swap RE, IM parts
51a5f:Swap_re_im_conj /Swap RE, IM parts, then CONJ
51b2a:Zerop_lcmplx /Predicate: Long Complex == (0,0)?
51b43:Zerop_cmplx /Predicate: Complex == (0,0)?
51b91:Neg_lcmplx /NEG Long Complex
51bc1:Conj_lcmplx /CONJ Long Complex
538c0:Laststack_enabled_p /Predicate: LAST STACK enabled?
53930:Print_format_on_p /Predicate: string conversion in print fmt?
5393e:Setbit_8_70685
5394c:Clrbit_8_70685
5395a:Testbit_8_70685
53968:ALGmodep /Predicate: ALG mode on?
53976:ALGmode_on /Turn ALG mode on
53984:ALGmode_off /Turn ALG mode off
53992:Marked_Istk /Predicate: In Interactive Stack?
539a0:Toggle_marked_Istk /Toggle Interactive Stack
539ae:Mark_Istk_off /Exit Interactive Stack
539bc:Testbit_2_7068d
539ca:Setbit_2_7068d
539d8:Clrbit_2_7068d
53a12:Toggle_INS_mode /Toggle INS mode
53a20:INS_Mode_off /Turn INS mode off
53a2e:INS_mode_on /Turn INS mode on
53a3c:INS_mode_p /Predicate: INS mode?
53a4a:ImmedEntry_p /Predicate: Immediate Entry?
53a66:ImmedEntry_off /Turn Immediate Entry off
53a74:Testbit_4_7068d
53a82:Setbit_4_7068d
53a90:Clrbit_4_7068d
53a9e:Clock_on_p /Clock displayed?
53ac8:Testbit_8_70683
53ad6:Setbit_8_70683
53ae4:Clrbit_8_70683
54050:Get_bin_base /Binary base as short (<10>)
61910:If_not_true_then_drop_end /IF NOT.TRUE THEN DROP END
619cb:Continue_at /Chain to address
61a6d:End_Eval
61fa9:Dup_Builtin_xlib_p /DUP, Predicate: True if XLIB is built-in
61fb6:Builtin_xlib_p /Predicate: True if XLIB is built-in
62001:Roll4_Roll4 /Swap level 1 with 3 and 2 with 4
62289:Dup_Eq3p /DUP, Predicate: == Short 3?
6229a:Equal2p /Predicate: == Short 2?
622a7:Equal1p /Predicate: == Short 1?
622b6:NotEqual1p /Predicate: != Short 1?
622c5:Dup_Equal1p /DUP, Predicate: != Short 1?
622d4:Dup_Nonzerop /DUP, Predicate: != Short 0?
62394:Swap_Strcat /SWAP, Strcat
623a0:Strcat /Add level 1 to level 2 string
624fb:Sub_Div2 /- Short 2 /
64127:Is_Lev1_insideLev2p /Predicate: is level 1 obj part of level 2 obj?
-- Jan Brittenson
bson@ai.mit.edu